home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / UTILITY / ALARM400.ARJ / ALARM.DOC < prev    next >
Text File  |  1992-07-19  |  21KB  |  595 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. TITLE:         ALARM 4.0
  9. DESCRIPTION:   Resident clock, chime, and alarm program
  10.                Copyright (c) 1992 by Thomas A. Lundin.
  11.                All Rights Reserved.
  12. RELEASE DATE:  6-12-92
  13. AUTHOR:        Thomas A. Lundin
  14.                16267 Hudson Avenue
  15.                Lakeville, MN 55044
  16. PHONE:         (612) 588-7571 (8am-5pm Central, weekdays)
  17.                (612) 431-5805 (nights and weekends)
  18. REGISTRATION:  $20 per copy
  19.  
  20. ABSTRACT:
  21.  
  22.      ALARM provides a memory-resident on-screen clock in the upper or
  23.      lower right corner. On the hour and half-hour, a short tune is
  24.      played (the tunes are programmable by you). The program can also
  25.      store up to 10 alarm times per day which will be indicated by
  26.      another tune and a flashing reminder message at the bottom of the
  27.      screen, all of which are programmable. The clock display, chimes,
  28.      and alarms can be toggled on or off individually. Alarms can be
  29.      specified for day of the week, daily, or single-time activation.
  30.  
  31. REVISION HISTORY:
  32.      4.0  6/12/92   Major revision, split into two programs
  33.      3.02 12/5/90   Display a clock
  34.      3.0  10/14/90  First release, loads tunes from external file
  35.  
  36. NOTE TO USERS OF ALARM 3.02 AND PRIOR:
  37.  
  38.      You won't be able to use your current version of alarm settings or
  39.      alarm tunes.
  40.  
  41.      This version of ALARM differs in the way it handles musical tune
  42.      files. You will need to edit your existing tune files to make them
  43.      compatible with version 4.0. Basically, this simply involves
  44.      removing the first parameter in the tune file (the positional
  45.      indicator), which is now specified on the command line rather than
  46.      being imbedded within the file.
  47.  
  48.      The format of the ALARM.DAT file has also been changed to allow for
  49.      more convenient alarm setting. See the appropriate section below for
  50.      details.
  51.  
  52.      Also, the earlier version of ALARM has now been split into two
  53.      separate programs: ALARM and ALARMSET. Doing this has helped to
  54.      reduce the memory requirements for the TSR portion of ALARM, and has
  55.      allowed me to put additional features into the program.
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                              ALARM.DOC REV 7/19/92 PAGE 1
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74. ALARM is distributed as shareware. It is not free software. If you
  75. continue to use this program beyond a 30-day trial period, you are
  76. required to register it. The registration fee for this version is $20 per
  77. copy. Upon registration, you will receive the most recent version of the
  78. program with an expanded 30-alarm capacity. Make checks payable to Thomas
  79. A. Lundin (U.S. funds and drawable at a U.S. bank). Please send your
  80. registrations to:
  81.  
  82. Thomas A. Lundin
  83. 16267 Hudson Avenue
  84. Lakeville, MN 55044
  85.  
  86. The registration fee for ALARM on network file servers is a $50 flat
  87. charge for up to 20 workstations PER SERVER, and a $100 flat charge for
  88. unlimited (over 20) workstations PER SERVER.
  89.  
  90. I welcome suggestions and comments regarding ALARM. The suggestions of
  91. registered users will always be considered first. Please respect the
  92. tenets of shareware and register if you intend to use the program beyond
  93. the trial period. It is my policy to not add features to the program on
  94. the promise of registration, so if you are not a registered user, please
  95. do not ask me to change the program to suit your needs. Program bugs are
  96. a different story. I will investigate reported bugs from any user and
  97. will attempt to fix those within my control.
  98.  
  99. DISCLAIMER.
  100.  
  101. This program and its associated documentation are provided AS IS, without
  102. any express or implied warranty. The program is not warranted as to
  103. suitability or fitness for any particular purpose. The author and/or
  104. distributor of this program shall not be held liable for any perceived or
  105. real damages emanating from the use or misuse of this program. The user
  106. of this program understands that operation of this program is undertaken
  107. at the user's own risk.
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                                              ALARM.DOC REV 7/19/92 PAGE 2
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140. OPERATION OF ALARM 4.0.
  141.  
  142.      The program is run from the command line. First, the TSR portion of
  143.      the program must be run. This portion of the program handles all of
  144.      the timekeeping, display and sound functions. At the DOS prompt,
  145.      type:
  146.  
  147.      alarm
  148.  
  149.      This command needs only to be run once. If you attempt to run ALARM
  150.      more than once, no harm done. The program will ensure that only one
  151.      copy of itself is in memory. After this is done, all other settings
  152.      are made by running the ALARMSET program. If the ALARM program
  153.      hasn't been run first, ALARMSET will not work; it will simply note
  154.      that ALARM is not loaded. The format of the ALARMSET program is:
  155.  
  156.      alarmset [options]
  157.  
  158.      The available options to the ALARMSET program are:
  159.  
  160.      -x             Clock disable-enable
  161.      -c             Chimes on-off
  162.      -a             Alarm on-off
  163.      -k             Clock display on-off
  164.      -p             Clock position top-bottom
  165.      -e             Date display on-off
  166.      -rN            Repeat alarms N times
  167.      -l             List the current alarms
  168.      -sFILENAME     Set alarms from FILENAME (default=ALARM.DAT)
  169.      -tFILENAME     Load top-of-the-hour tunes from FILENAME
  170.      -hFILENAME     Load half-hour tunes from FILENAME
  171.      -mFILENAME     Load alarm tunes from FILENAME
  172.      -dMM/DD/YY     Set the alarm date
  173.      -vXX           Video attribute (hex value XX)
  174.      -?             List the available ALARMSET options
  175.  
  176.      Multiple options can be used with ALARMSET as long as each one is
  177.      separated by a space.
  178.  
  179. EXPLANATION OF ALARMSET OPTIONS.
  180.  
  181.      -x             Clock disable-enable
  182.      This option toggles between enabling and disabling the ALARM
  183.      program. Disabling the program turns off the clock display, alarms
  184.      and chimes, and bypasses the timer interrupt subroutine. The most
  185.      common need for this feature is to avoid problems with communication
  186.      programs; some programs will be unable to communicate properly
  187.      (especially at 9600 bps) -- even if they're interrupt-driven -- when
  188.      ALARM is running.
  189.  
  190.      -c             Chimes on-off
  191.      This option toggles between allowing the half-hour and hourly chimes
  192.      to sound or be silent.
  193.  
  194.  
  195.  
  196.  
  197.                                              ALARM.DOC REV 7/19/92 PAGE 3
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.      -a             Alarm on-off
  207.      This option toggles between allowing the programmable alarms to
  208.      sound or be silent. When the alarms are disabled, the alarm messages
  209.      are not displayed.
  210.  
  211.      -k             Clock display on-off
  212.      This option toggles between displaying the on-screen clock or hiding
  213.      it. When hidden, the chimes and alarms will still sound unless they
  214.      too have been specifically disabled.
  215.  
  216.      -p             Clock position top-bottom
  217.      This option toggles the clock display between the upper-right corner
  218.      of the screen and the lower-right corner of the screen.
  219.  
  220.      -e             Date display on-off
  221.      This option toggles between displaying the time and date or
  222.      displaying just the time. When date+time is selected, the date is
  223.      displayed for approximately one second and the time is displayed for
  224.      approximately two seconds per cycle. The date display is composed of
  225.      day of the week, month, and day.
  226.  
  227.      -rN            Repeat alarms N times
  228.      By default, the alarm tune is played twice through when an alarm is
  229.      triggered. This option allows you to specify how many times through
  230.      you want the alarm tune to play. For instance, "alarmset -r4" will
  231.      make the alarm tune play through four times.
  232.  
  233.      -l             List the current alarms
  234.      This option allows you to see what alarms are currently active.
  235.  
  236.      -s             Set alarms from ALARM.DAT
  237.      -sFILENAME     Set alarms from FILENAME
  238.      This option set the alarm times according to the information stored
  239.      in your alarm file (see the section further down for information
  240.      about the alarm file). This option has two alternative formats: one
  241.      specifies a filename and the other does not. When -s is used by
  242.      itself, alarm settings are loaded from a file named ALARM.DAT. When
  243.      a filename is given immediately after the -s, alarm settings are
  244.      loaded from that given filename. For example, "alarmset -
  245.      smyalarm.txt" will set the alarms stored in the file MYALARM.TXT.
  246.  
  247.      -tFILENAME     Load top-of-the-hour tunes from FILENAME
  248.      This option loads the tune that will be played at the top of each
  249.      hour. (The tune file must be created in a format described later in
  250.      this document.) For example, "alarmset -ttop.tun" will load the top-
  251.      of-the-hour chimes from a file named TOP.TUN. The default tune is a
  252.      single beep -- not very interesting.
  253.  
  254.      -hFILENAME     Load half-hour tunes from FILENAME
  255.      This option is the same as the -t option, above, except that it
  256.      loads the tune that will be played each half-hour.
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.                                              ALARM.DOC REV 7/19/92 PAGE 4
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.      -mFILENAME     Load alarm tunes from FILENAME
  273.      This option is the same as the -t option, above, except that it
  274.      loads the tune that will be played when an alarm is triggered.
  275.  
  276.      -dMM/DD/YY     Set the alarm date
  277.      Normally, ALARMSET loads alarms for the current date only when the -
  278.      s option is executed. With the -d option, you can force another
  279.      date's alarms to be loaded in place of the current date.
  280.  
  281.      -vXX           Video attribute (hex value XX)
  282.      The default clock display is black characters on a white background
  283.      (reverse video on monochrome monitors). If you want different
  284.      colors, you can explicitly set the foreground and background colors
  285.      with this option. The first hex digit controls the background color
  286.      and the second digit controls the foreground color. The foreground
  287.      color digit can range from 0-9, A-F. The background color digit can
  288.      range from 0-7. For example, "alarmset -v1e" would display bright
  289.      yellow characters on a blue background. (On monochrome monitors,
  290.      only a few of the possible hex values can be mapped to video
  291.      attributes; these are 07, 01, 70, and 00.) The color digits and
  292.      their displayed colors are:
  293.  
  294.      0 = black
  295.      1 = blue
  296.      2 = green
  297.      3 = cyan
  298.      4 = red
  299.      5 = magenta
  300.      6 = brown (sometimes dark yellow)
  301.      7 = light gray (sometimes normal white)
  302.      8 = dark gray (sometimes black)
  303.      9 = light blue
  304.      A = light green
  305.      B = light cyan
  306.      C = light red
  307.      D = light magenta
  308.      E = bright yellow
  309.      F = bright white
  310.  
  311.  
  312. FORMAT OF THE ALARM.DAT FILE.
  313.  
  314.      ALARM.DAT is an ASCII file which contains the alarm dates, times,
  315.      and messages that the program will use. Up to 10 alarm times can be
  316.      programmed for one date (30 alarm times in the registered version),
  317.      but your ALARM.DAT file can contain alarms for as many dates as you
  318.      want. Each alarm is entered in the following format:
  319.  
  320.      MM/DD/YY  HH:MM AM|PM  Your message here!
  321.  
  322.      Each item in the alarm line must be separated by one or more spaces.
  323.  
  324.      The first item in the line is the date the alarm will be loaded. If
  325.      the alarm date matches the current date when the ALARMSET program is
  326.  
  327.  
  328.  
  329.                                              ALARM.DOC REV 7/19/92 PAGE 5
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.      run with the -s option, the alarm line will be set; otherwise the
  339.      line will be ignored. The date is entered in standard month/day/year
  340.      notation. The year may be entered in two-digit or four-digit form.
  341.      You can also set a daily alarm by entering the word DAILY in place
  342.      of a specific date. When ALARMSET sees the word DAILY in an
  343.      ALARM.DAT file, it will load the alarm regardless of the date, and
  344.      the ALARM program will set off the alarm each day at the specified
  345.      time, even if the program is left running for a number of days. You
  346.      can also set alarms to recur on any day of the week, such as
  347.      MONDAYS, TUESDAYS, WEDNESDAYS, THURSDAYS, FRIDAYS, SATURDAYS and
  348.      SUNDAYS, by typing in the appropriate word in place of a specific
  349.      date. If the current day matches what you've typed in the ALARM.DAT
  350.      line, the alarm will be set. The ALARMSET program must be run each
  351.      day in order to update the day-of-the-week and specific-date alarms;
  352.      only the DAILY alarm will carry over without intervention.
  353.  
  354.      The second item in the alarm line is the time that the alarm will be
  355.      set off. The time is set in 12-hour hours:minutes notation. The
  356.      hours do not require a leading zero.
  357.  
  358.      The next item is the AM/PM indicator. This item is necessary to
  359.      distinguish between day and night times. A time of 12:00 AM is
  360.      midnight, while 12:00 PM is noon.
  361.  
  362.      The last item is the message that will be displayed when the alarm
  363.      is set off. The message can be up to 40 characters long.
  364.  
  365.      (See the sample ALARM.DAT file for examples.)
  366.  
  367.      Any line in the ALARM.DAT file which begins with a semi-colon (;) is
  368.      treated as a comment line, and will be ignored. You can use comment
  369.      lines to annotate your alarms.
  370.  
  371.      If you enter an alarm time that is on the hour or half-hour, the
  372.      alarm tune will not sound, so be sure to set your alarms for
  373.      something other than :00 or :30 minutes.
  374.  
  375.      When an alarm goes off, the alarm message associated with the alarm
  376.      will be displayed on the last line of your screen, and the alarm
  377.      tune will play. The message remains on the screen until some other
  378.      screen activity overwrites it.
  379.  
  380.      The ALARMSET -s option will load the alarms from ALARM.DAT (or from
  381.      a specified file, if you gave one). ALARM.DAT must reside in the
  382.      current subdirectory, or in a subdirectory that is part of your PATH
  383.      command. When alarms are set, they are automatically enabled, even
  384.      if you disabled them previously with the -a option.
  385.  
  386.  
  387. FORMAT OF THE TUNES FILES.
  388.  
  389.      A tune file is an ASCII file which contains the individual musical
  390.      frequencies which make up an hourly, half-hourly, or alarm chime.
  391.      Each tune file contains one line defining the tune which can be
  392.  
  393.  
  394.  
  395.                                              ALARM.DOC REV 7/19/92 PAGE 6
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.      loaded into any of the hourly, half-hour or alarm chimes. The format
  405.      of a tune line is:
  406.  
  407.      BEEP_SPEED,NOTE1,NOTE2,NOTE3,...,NOTE63,0
  408.  
  409.      All elements are separated from one another by a comma.
  410.  
  411.      BEEP_SPEED must be a number from 1 to 18. It determines how long
  412.      each note is played, in increments of 1/18th of a second. For
  413.      example, a BEEP_SPEED value of 3 will play each note for about 1/6
  414.      of a second. BEEP_SPEED is an absolute timing measure based on the
  415.      18.2 ticks per second of the system clock, so chimes and alarms will
  416.      sound the same regardless of processor speed. I've found that a
  417.      BEEP_SPEED value of 3 makes for a normal pace, while a value of 2
  418.      speeds things up quite a bit, and 4 is best left for funeral dirges.
  419.  
  420.      NOTE1 through NOTE63 are the individual notes, entered as frequency
  421.      values or chromatic scale mnemonics, which compose the tune being
  422.      played. The musical note mnemonics and their associated numeric
  423.      frequencies are as follows:
  424.  
  425.      C#0   17     A1    55      F3    175     C#5   554     A6    1760
  426.      D0    18     A#1   58      F#3   185     D5    587     A#6   1865
  427.      D#0   19     B1    62      G3    196     D#5   622     B6    1976
  428.      E0    21     C2    65      G#3   208     E5    659     C7    2093
  429.      F0    22     C#2   69      A3    220     F5    698     C#7   2217
  430.      F#0   23     D2    73      A#3   233     F#5   740     D7    2349
  431.      G0    25     D#2   78      B3    247     G5    784     D#7   2489
  432.      G#0   26     E2    82      C4    262     G#5   831     E7    2637
  433.      A0    28     F2    87      C#4   277     A5    880     F7    2794
  434.      A#0   29     F#2   93      D4    294     A#5   932     F#7   2960
  435.      B0    31     G2    98      D#4   311     B5    988     G7    3136
  436.      C1    33     G#2   104     E4    330     C6    1047    G#7   3322
  437.      C#1   35     A2    110     F4    349     C#6   1109    A7    3520
  438.      D1    37     A#2   117     F#4   370     D6    1175    A#7   3729
  439.      D#1   39     B2    123     G4    392     D#6   1245    B7    3951
  440.      E1    41     C3    131     G#4   415     E6    1329    C8    4186
  441.      F1    44     C#3   139     A4    440     F6    1397    REST  -1
  442.      F#1   46     D3    147     A#4   467     F#6   1480    NULL  0
  443.      G1    49     D#3   156     B4    494     G6    1568
  444.  
  445.      Two or more consecutive notes of the same frequency will sound like
  446.      one long note (useful for providing aesthetically-pleasing musical
  447.      phrasing). The series of notes must be terminated with a 0 value (or
  448.      mnemonic NULL).
  449.  
  450.      To load a tune into memory, use the -tFILENAME option (or -h or -m),
  451.      where FILENAME is any valid PC path/filename that contains tune
  452.      information. I've provided a few sample tune files for you to
  453.      experiment with. Notice how I've subdivided the basic tempo in some
  454.      of the tunes into halves or thirds to allow for simulated rests,
  455.      quarter- and half-notes, etc.
  456.  
  457.  
  458.  
  459.  
  460.  
  461.                                              ALARM.DOC REV 7/19/92 PAGE 7
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.      Any line in the tune file which begins with a semi-colon (;) is
  471.      treated as a comment line and will be ignored.
  472.  
  473. NOTES
  474.  
  475.      If you allow your computer to run past midnight, ALARM will
  476.      automatically increment the date and update the DOS system date, but
  477.      it will not update any alarms (except for DAILY alarms, which are
  478.      automatically reset and enabled). You need to run ALARMSET to load
  479.      date-specific or day-of-the-week alarms for the new date.
  480.  
  481.      ALARM uses approximately 13K of RAM when resident.
  482.  
  483.      ALARM and ALARMSET are written in Borland C++ 3.0.
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.                                              ALARM.DOC REV 7/19/92 PAGE 8
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.                             REGISTRATION FORM
  537.  
  538. DATE: ________________________
  539.  
  540.  
  541. NAME: __________________________________________________________________
  542.  
  543. COMPANY: _______________________________________________________________
  544.  
  545. ADDRESS: _______________________________________________________________
  546.  
  547.          _______________________________________________________________
  548.  
  549. CITY: _______________________________ STATE: _______  ZIP: _____________
  550.  
  551. PHONE: _____________________________ FAX: ______________________________
  552.  
  553.  
  554. FEE SCHEDULE                                    QTY              AMOUNT
  555.  
  556. REGISTRATION FOR ALARM 4.0 @ $20 PER COPY     ________ x $20 = _________
  557.  
  558. SITE LICENSE FOR STAND-ALONE UNITS
  559.  
  560.      5 - 10 UNITS @ $15 PER COPY              ________ x $15 = _________
  561.  
  562.      11 - 20 UNITS @ $10 PER COPY             ________ x $10 = _________
  563.  
  564.      OVER 20 UNITS @ $5 PER COPY              ________ x $ 5 = _________
  565.  
  566. NETWORK FILE SERVER REGISTRATION
  567.  
  568.      <=20 WORKSTATIONS @ $50/FILE SERVER      ________ x $50 = _________
  569.  
  570.      >20 WORKSTATIONS @ $100/FILE SERVER      ________ x $100= _________
  571.  
  572. SHIPPING AND HANDLING (INDICATE ANY THAT APPLY)
  573. (For single copies only; call for S/H on multiple copies)
  574.  
  575.      FIRST CLASS MAIL                                          ___$5.00_
  576.      UPS GROUND                                                ____7.50_
  577.      OVERNIGHT DELIVERY                                        ___20.00_
  578.      C.O.D.                                              ADD   ____7.50_
  579.  
  580.  
  581.                                    TOTAL      ________         _________
  582. Send this form with payment to:
  583.  
  584.                Thomas A. Lundin
  585.                16267 Hudson Avenue
  586.                Lakeville, MN 55044
  587.  
  588. Payment terms are Prepaid or C.O.D.
  589. Corporate purchase orders accepted from Fortune 1000 firms only.
  590.  
  591.  
  592.  
  593.                                              ALARM.DOC REV 7/19/92 PAGE 9
  594.  
  595.